package fr.upmc.mdoc.tp1.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import fr.upmc.mdoc.tp1.domain.DAOContact;
import fr.upmc.mdoc.tp1.forms.NewContactForm;
import fr.upmc.mdoc.tp1.models.Contact;

public class NewContactAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		DAOContact dao = new DAOContact();
		// String firstName = request.getParameter("fn");
		// String lastName = request.getParameter("ln");
		// String email = request.getParameter("email");
		//
		// Contact contact = new Contact(firstName, lastName, email);
		//
		// // L'adresse du contact
		// Address adr = new Address();
		// adr.setStreet(request.getParameter("street"));
		// adr.setCity(request.getParameter("city"));
		// adr.setCountry(request.getParameter("country"));
		// adr.setZip(request.getParameter("zip"));
		//
		// contact.setAddress(adr);
		//
		// // Les téléphones du contact
		// contact.getPhones().add(
		// new PhoneNumber("fixe", request.getParameter("phoneFixe"),
		// contact));
		// contact.getPhones().add(
		// new PhoneNumber("port", request.getParameter("phonePort"),
		// contact));
		// contact.getPhones().add(
		// new PhoneNumber("bureau", request.getParameter("phoneOffice"),
		// contact));

		// // Les groupes que le contact appartiennent
		// DAOContactGroup daog = new DAOContactGroup();
		// List<ContactGroup> groups = daog.getGroups();
		// String groupname = request.getParameter("group");
		//
		// Set<ContactGroup> books = new HashSet<ContactGroup>();
		//
		// for (ContactGroup group : groups) {
		// if(group.getGroupName().equals(groupname)) {
		// daog.updateGroup(group);
		// }
		// //books.add(group);
		// else {
		// // Il faut avoir la possibilité de créer un groupe
		// contact.setBooks(books);
		// }
		// }
		//
		// // FIN groupe
		//
		// /* Entreprise */
		// Contact entrp = new Entreprise();
		// entrp.setFirstName("BNP");
		// entrp.setLastName("Paribas");
		// entrp.setEmail("contact@bnp-paribas.net");
		//
		// entrp.setAddress(adr);
		// entrp.setBooks(books);
		// entrp.getPhones().add(
		// new PhoneNumber("fixe", request.getParameter("phoneFixe"), contact));
		//

		NewContactForm nf = (NewContactForm) form;
		Contact contact = nf.create(request);

		if (dao.addContact(contact))
			mapping.findForward("pages/home.jsp");
		else
			mapping.findForward("pages/erreur.jsp");
		

		// return super.validate(mapping, request);

		return super.execute(mapping, form, request, response);
	}
}
